home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / telecomm / zmdm_bin.arc / ZMDM.DOC < prev    next >
Text File  |  1988-05-29  |  28KB  |  723 lines

  1.     zmdm.doc, v1.6 ++jrb
  2.  
  3.                 ACKNOWLEDGEMENTS
  4.  
  5.     ZMDM was derived from rz/sz for Unix  posted by 
  6.     Chuck Forsberg (...!tektronix!reed!omen!caf ). We
  7.     thank him for his excellent code, and for giving
  8.     us permission to use and distribute his code and
  9.     documentation.
  10.  
  11.     The code for detecting baud rate at startup is courtesy
  12.     of Brian Katzung (katzung@laidbak.UUCP). Thanks very
  13.     much!
  14.  
  15.     Andy Nicola did a lot of testing of the new features.
  16.     Thank You very much!
  17.  
  18.     Thanks to the many users on the net who wrote in.
  19.     
  20. ----------------------------------------------------------------------------
  21.     Enhancements since V1.2: (the last Usenet  release).
  22.     
  23.         o Some cleanup, moved common things around.
  24.           Some cosmetic additions.
  25.  
  26.         o MWC 3.0 compatible. The sample MW makefiles
  27.           reflect the setup required for MWC  V 3.0.6.
  28.  
  29.         o Manx Aztec C compatible. Tested with V 3.6a
  30.           of the compiler. Produces the smallest code
  31.           of all the compilers tested. See config.h,
  32.           makefile.man and makefman.sta.
  33.           CAUTION: for MegaST and 4Meg ST owners--
  34.             The Manx Version will not work correctly
  35.           for you due to a bug in the start up file
  36.           -- we are still trying to figure out exactly
  37.           what the problem is!
  38.  
  39.         o Auto Baud Rate detection on startup:
  40.           Previously ZMDM would set the baud rate
  41.           to a compile time configurable rate on
  42.           startup (it needed to know the baud rate
  43.           to determine its default packet size). Thanks
  44.           to code contributed by Brian Katzung, now it
  45.           detects the baud rate on startup.
  46.           Of course you can set the baud rate
  47.           within ZMDM (by hitting '<HELP>'  'b' ).
  48.  
  49.         o Compile time option to use all available memory
  50.           as recv/send buffer. See DYNABUF, LEAVEALONE and
  51.           MINACC preprocessor symbols in config.h. If you
  52.           prefer to use a fixed size buffer, this is still
  53.           possible by not #define'ing DYNABUF and setting
  54.           BBUFSIZ. MegaST OK - thanks Andy Nicola.
  55.  
  56.         o Stand Alone versions of RZ and SZ can be made
  57.           by compiling the sources with the preprocessor
  58.           symbols 'STANDALONE' #define'ed. See the makefile
  59.           'MAKEFILE.STA' for more details.
  60.           Stand Alone versions DO NOT do any command line
  61.           argument expansions for wild cards or directories
  62.           (unlike the integrated ZMDM).
  63.           Stand Alone versions tested from within Gulam,
  64.           Flash and Intersect. Thanks to Andy Nicola for
  65.           testing these features.
  66.  
  67.         o Remote versions of ZMDM, RZ and SZ can be made by
  68.           compiling the sources with the preprocessor symbol
  69.           'REMOTE' #define'ed. A remote version listens and
  70.           does all its I/O thru the serial port. Of course
  71.           it has to be fired up from console. One of our
  72.           area BBS's provides this as a D/L option, where
  73.           the BBS program execs a remote ZMDM, and one you exit
  74.           you return back to the BBS program.
  75.  
  76.             o Added -B (note: uppercase B) option to both RZ and SZ.
  77.           the -B function is a binary mode override, that disregards
  78.           the extension when deciding the transfer mode. This is
  79.           useful when say you are backing up your whole disk
  80.           to say a Unix host. (backup the exact image of the files),
  81.           or doing St-to-St type transfers.
  82.         
  83.         o Now compatible with the PD DLIB library. The
  84.           pre-processor symbol DLIBS must be defined. Only
  85.           tested with the Alcyon version of the library.
  86.  
  87.         o Added the phone module (a simple dialer with a
  88.           telephone numbers directory). This module is
  89.           only compiled in if the preprocessor symbol
  90.           'PHONES' is #define'ed. For those of you who
  91.           are familiar with XMDM, this module was directly
  92.           ripped out of there, with a small bug fix that
  93.           prevented it from running under TurboSt.ACC.
  94.  
  95.         o Long packet lengths now allowed at slower baud rates
  96.           rather than insisting on using the default as the max
  97.           packet length. For instance
  98.             sz -l 1024 files..
  99.           will now send 1024 byte packets at low baud rates (<= 2400).
  100.           The corresponding change has been made to the unix
  101.           end of the software too.
  102.  
  103.         o TurboSt.ACC note:
  104.             The high rez toggle (25/50 lines) on a
  105.         monochrome monitor will NOT work is TurboSt.ACC is
  106.         installed. The problem is on the TurboSt.ACC end. Using
  107.         the high rez toggle does'nt cause any ill-effect, it just
  108.         does not do anything.
  109.           
  110.     Enhancements since V1.0:
  111.         o (This enhancement is only present when
  112.            you compile with the pre-processor symbol
  113.            `RECURSE' defined - see the makefile's)
  114.           sz now takes a  directory as an argument.
  115.           If the name of a directory is given as an
  116.           argument, then the contents of that directory
  117.           and all its subdirectories are sent. A new
  118.           option to sz is '-P <dir or file>'
  119.           (capital 'P' not 'p'), that
  120.           'prunes' the expansion of a directory. For
  121.           example if you wanted to send all the files
  122.           in the 'C' partition of your hard disk, except
  123.           the 'tmp', 'usr' and 'foo\bar' subdirectories, you would
  124.           issue the following command in the transfer
  125.           shell:
  126.  
  127.              sz -f -P c:\tmp -P c:\usr -P c:\foo\bar c:\
  128.  
  129.           Notice that you may specify multiple -P 'rune
  130.           options. The argument to the -P option may also be
  131.           the name of a file that you want to prune off.
  132.           Also note that to send full path names
  133.           to the remote end, the '-f' option is required,
  134.           otherwise the remote end will create all the
  135.           files in its current working directory. (Also
  136.           see CWRU extension to Unix 'rz', where 'rz' when
  137.           receiving full path names (ie. when you specify the
  138.           '-f' option to sz on the ST end) will create all
  139.           subdirectories required to receive the file). The
  140.           ST 'rz' always creates all subdirectories required
  141.           to receive a path when the other end is sz'ing with
  142.           the '-f' option. Also note that in both the rz's
  143.           all subdirectories are created relative to the 
  144.           current working directory, even though the path may
  145.           specify an absolute path.
  146.  
  147.             o File name mapping is slightly changed from V1.0.
  148.           When receiving a filename that has multiple '.'s
  149.           all but the last '.' is replace with an '_'. So
  150.           'foo.bar.ext' becomes 'foo_bar.ext'. Similarly
  151.           '123.456.789\aaa.bbb.ccc' becomes '123_456.789\aaa_bbb.ccc'.
  152.           As in V1.0, the filename and extension (of each
  153.           component of a path name) are truncated to 8 and 3
  154.           characters respectively. So '123.456789.ext\foobarbaz'
  155.           becomes '123_4567.ext\foobarba'. Also note that
  156.           while sending, '\'s are sent as '/'s. The ST drive
  157.           specifier part of a path name is never sent.
  158.           So 'c:\file.ext' is sent as '/file.ext' (remember:
  159.           that full pathnames are only sent when the '-f'
  160.           option is specified to 'sz').
  161.  
  162.         o Many bug fixes since V1.0!
  163.  
  164. ----------------------------------------------------------------------------
  165.  
  166.  
  167.     Zmdm consists of two main components:
  168.         o The terminal emulator
  169.         o The transfer shell
  170.  
  171.     - The terminal emulator emulates a 80*25 terminal
  172.     (or optionally the 80*50 mode on Mono systems only).
  173.     It uses the escape codes of the bios built in enhanced
  174.     vt52 emulator. For UN*X users i have included the
  175.     termcap entry that we use.
  176.  
  177.     - The transfer shell lets you send/receive files using
  178.     Xmodem/Xmodem-CRC/Xmodem-1K/Ymodem or Zmodem protocols.
  179.         In addition it provides UN*X csh like command for your
  180.     convenience, and does (TOS style) wild-card handling,
  181.         and (only single) quoting of arguments. Please note that
  182.     this is a convenience feature, and in no way does it
  183.     pretend to be compatible with csh or any other shell.
  184.     See the accompanying file YMODEM.DOC by Chuck Forsberg,
  185.     for details of the above transfer protocols.
  186.  
  187.     This note describes the commands available from the
  188.     "transfer shell". The transfer shell is the built in command line
  189.     interface. In case you are wondering why we choose to
  190.     use a command line interface, the answer is quite simple.
  191.     The functions available have so many options and combinations
  192.     thereof, that it would be totally impractical if not impossible
  193.     to put them in menus/dialogues (each menu will have to be at least
  194.     3 levels deep). Of course it i